# Se importan las librerias necesarias
import pandas as pd
# Se cargan los datos
colums = ['EGRESO', 'DIAG_INI']
dataframe = pd.read_csv('EGRESO_2010.csv', usecols=colums).dropna()
dataframe
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal = '%d/%m/%Y'
dataframe['EGRESO'] = pd.to_datetime(dataframe['EGRESO'], format=strfdtoriginal)
# Se agrega una columna con los numeros de semana
dataframe['sem'] = ''
nrows = len(dataframe.index)
for i in range(nrows):
dfday = dataframe['EGRESO'][i]
mydate = date(dfday.year, dfday.month, dfday.day)
numberweek = Week.fromdate(mydate)
dataframe['sem'][i] = numberweek.week
dataframe
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas = dataframe['sem'].value_counts()
semanas = semanas.sort_index()
semanas
# Se pasa a un nuevo dataframe
newdf = pd.DataFrame()
newdf['sem'] = semanas.index
newdf['casos'] = ''
nr = len(newdf.index)
for i in range (nr):
newdf['casos'][i] = int(semanas[i+1])
newdf
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año = '2010'
print('Egresos ' + año)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas.index, newdf.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas.index, newdf.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año + '/Egresos' + año + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos = dataframe['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos = diagnosticos.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie = dataframe.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i = 0
ndiagnosticos = len(diagnosticos.index)
maximo = ndiagnosticos-5
# Proceso de generación de las figuras
for name in diagnosticos.index:
if i < 25 or i >= maximo:
y = []
for index in semanas.index:
try:
y.append(cie['EGRESO'][name, index])
except:
y.append(0)
print('\n' + name)
plt.figure(figsize=(20, 5))
plt.scatter(semanas.index, y)
plt.plot(semanas.index, y)
plt.xlabel("Semana del año " + año)
plt.ylabel("Egresos")
plt.savefig(año + '/' + name + '_' + año + '.jpg', format='jpg')
plt.show()
i = i+1
import pandas as pd
# Se cargan los datos
colums1 = ['EGRESO', 'DIAG_INI']
dataframe1 = pd.read_csv('EGRESO_2011.csv', usecols=colums1).dropna()
dataframe1
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal1 = '%d/%m/%Y'
dataframe1['EGRESO'] = pd.to_datetime(dataframe1['EGRESO'], errors='coerce', format=strfdtoriginal1)
dataframe1 = dataframe1.dropna()
dataframe1 = dataframe1.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe1['sem'] = ''
nrows1 = len(dataframe1.index)
for i in range(nrows1):
dfday1 = dataframe1['EGRESO'][i]
if dfday1.year == 2011:
mydate1 = date(dfday1.year, dfday1.month, dfday1.day)
numberweek1 = Week.fromdate(mydate1)
dataframe1['sem'][i] = numberweek1.week
dataframe1 = dataframe1.dropna()
dataframe1 = dataframe1.reset_index(drop=True)
dataframe1
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas1 = dataframe1['sem'].value_counts()
semanas1 = semanas1.drop('', axis = 0)
semanas1 = semanas1.sort_index()
semanas1
# Se pasa a un nuevo dataframe
newdf1 = pd.DataFrame()
newdf1['sem'] = semanas1.index
newdf1['casos'] = ''
nr1 = len(newdf1.index)
for i in range (nr1):
newdf1['casos'][i] = int(semanas1[i+1])
newdf1
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año1 = '2011'
print('Egresos ' + año1)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas1.index, newdf1.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas1.index, newdf1.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año1)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año1 + '/Egresos' + año1 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos1 = dataframe1['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos1 = diagnosticos1.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie1 = dataframe1.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año1 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i1 = 0
ndiagnosticos1 = len(diagnosticos1.index)
maximo1 = ndiagnosticos1-5
# Proceso de generación de las figuras
for name1 in diagnosticos1.index:
if i1 < 25 or i1 >= maximo1:
y1 = []
for index1 in semanas1.index:
try:
y1.append(cie1['EGRESO'][name1, index1])
except:
y1.append(0)
print('\n' + name1)
plt.figure(figsize=(20, 5))
plt.scatter(semanas1.index, y1)
plt.plot(semanas1.index, y1)
plt.xlabel("Semana del año " + año1)
plt.ylabel("Egresos")
plt.savefig(año1 + '/' + name1 + '_' + año1 + '.jpg', format='jpg')
plt.show()
i1 = i1+1
import pandas as pd
# Se cargan los datos
colums2 = ['EGRESO', 'DIAG_INI']
dataframe2 = pd.read_csv('EGRESO_2012.csv', usecols=colums2).dropna()
dataframe2
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal2 = '%d/%m/%Y'
dataframe2['EGRESO'] = pd.to_datetime(dataframe2['EGRESO'], errors='coerce', format=strfdtoriginal2)
dataframe2 = dataframe2.dropna()
dataframe2 = dataframe2.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe2['sem'] = ''
nrows2 = len(dataframe2.index)
for i in range(nrows2):
dfday2 = dataframe2['EGRESO'][i]
if dfday2.year == 2012:
mydate2 = date(dfday2.year, dfday2.month, dfday2.day)
numberweek2 = Week.fromdate(mydate2)
dataframe2['sem'][i] = numberweek2.week
dataframe2 = dataframe2.dropna()
dataframe2 = dataframe2.reset_index(drop=True)
dataframe2
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas2 = dataframe2['sem'].value_counts()
semanas2 = semanas2.drop('', axis = 0)
semanas2 = semanas2.sort_index()
semanas2
# Se pasa a un nuevo dataframe
newdf2 = pd.DataFrame()
newdf2['sem'] = semanas2.index
newdf2['casos'] = ''
nr2 = len(newdf2.index)
for i in range (nr2):
newdf2['casos'][i] = int(semanas2[i+1])
newdf2
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año2 = '2012'
print('Egresos ' + año2)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas2.index, newdf2.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas2.index, newdf2.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año2)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año2 + '/Egresos' + año2 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos2 = dataframe2['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos2 = diagnosticos2.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie2 = dataframe2.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año2 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i2 = 0
ndiagnosticos2 = len(diagnosticos2.index)
maximo2 = ndiagnosticos2-5
# Proceso de generación de las figuras
for name2 in diagnosticos2.index:
if i2 < 25 or i2 >= maximo2:
y2 = []
for index2 in semanas2.index:
try:
y2.append(cie2['EGRESO'][name2, index2])
except:
y2.append(0)
print('\n' + name2)
plt.figure(figsize=(20, 5))
plt.scatter(semanas2.index, y2)
plt.plot(semanas2.index, y2)
plt.xlabel("Semana del año " + año2)
plt.ylabel("Egresos")
plt.savefig(año2 + '/' + name2 + '_' + año2 + '.jpg', format='jpg')
plt.show()
i2 = i2+1
import pandas as pd
# Se cargan los datos
colums3 = ['EGRESO', 'DIAG_INI']
dataframe3 = pd.read_csv('EGRESO_2013.csv', usecols=colums3).dropna()
dataframe3
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal3 = '%d/%m/%Y'
dataframe3['EGRESO'] = pd.to_datetime(dataframe3['EGRESO'], errors='coerce', format=strfdtoriginal3)
dataframe3 = dataframe3.dropna()
dataframe3 = dataframe3.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe3['sem'] = ''
nrows3 = len(dataframe3.index)
for i in range(nrows3):
dfday3 = dataframe3['EGRESO'][i]
if dfday3.year==2013:
mydate3 = date(dfday3.year, dfday3.month, dfday3.day)
numberweek3 = Week.fromdate(mydate3)
dataframe3['sem'][i] = numberweek3.week
dataframe3 = dataframe3.dropna()
dataframe3 = dataframe3.reset_index(drop=True)
dataframe3
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas3 = dataframe3['sem'].value_counts()
semanas3 = semanas3.drop('', axis = 0)
semanas3 = semanas3.sort_index()
semanas3
# Se pasa a un nuevo dataframe
newdf3 = pd.DataFrame()
newdf3['sem'] = semanas3.index
newdf3['casos'] = ''
nr3 = len(newdf3.index)
for i in range (nr3):
newdf3['casos'][i] = int(semanas3[i+1])
newdf3
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año3 = '2013'
print('Egresos ' + año3)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas3.index, newdf3.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas3.index, newdf3.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año3)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año3 + '/Egresos' + año3 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos3 = dataframe3['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos3 = diagnosticos3.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie3 = dataframe3.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año3 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i3 = 0
ndiagnosticos3 = len(diagnosticos3.index)
maximo3 = ndiagnosticos3-5
# Proceso de generación de las figuras
for name3 in diagnosticos3.index:
if i3 < 25 or i3 >= maximo3:
y3 = []
for index3 in semanas3.index:
try:
y3.append(cie3['EGRESO'][name3, index3])
except:
y3.append(0)
print('\n' + name3)
plt.figure(figsize=(20, 5))
plt.scatter(semanas3.index, y3)
plt.plot(semanas3.index, y3)
plt.xlabel("Semana del año " + año3)
plt.ylabel("Egresos")
plt.savefig(año3 + '/' + name3 + '_' + año3 + '.jpg', format='jpg')
plt.show()
i3 = i3+1
import pandas as pd
# Se cargan los datos
colums4 = ['EGRESO', 'DIAG_INI']
dataframe4 = pd.read_csv('EGRESO_2014.csv', usecols=colums4).dropna()
dataframe4
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal4 = '%Y-%m-%d %H:%M:%S'
dataframe4['EGRESO'] = pd.to_datetime(dataframe4['EGRESO'], errors='coerce', format=strfdtoriginal4)
dataframe4 = dataframe4.dropna()
dataframe4 = dataframe4.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe4['sem'] = ''
nrows4 = len(dataframe4.index)
for i in range(nrows4):
dfday4 = dataframe4['EGRESO'][i]
if dfday4.year==2014:
mydate4 = date(dfday4.year, dfday4.month, dfday4.day)
numberweek4 = Week.fromdate(mydate4)
dataframe4['sem'][i] = numberweek4.week
dataframe4 = dataframe4.dropna()
dataframe4 = dataframe4.reset_index(drop=True)
dataframe4
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas4 = dataframe4['sem'].value_counts()
semanas4 = semanas4.drop('', axis = 0)
semanas4 = semanas4.sort_index()
semanas4
# Se pasa a un nuevo dataframe
newdf4 = pd.DataFrame()
newdf4['sem'] = semanas4.index
newdf4['casos'] = ''
nr4 = len(newdf4.index)
for i in range (nr4):
newdf4['casos'][i] = int(semanas4[i+1])
newdf4
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año4 = '2014'
print('Egresos ' + año4)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas4.index, newdf4.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas4.index, newdf4.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año4)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año4 + '/Egresos' + año4 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos4 = dataframe4['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos4 = diagnosticos4.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie4 = dataframe4.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año4 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i4 = 0
ndiagnosticos4 = len(diagnosticos4.index)
maximo4 = ndiagnosticos4-5
# Proceso de generación de las figuras
for name4 in diagnosticos4.index:
if i4 < 25 or i4 >= maximo4:
y4 = []
for index4 in semanas4.index:
try:
y4.append(cie4['EGRESO'][name4, index4])
except:
y4.append(0)
print('\n' + name4)
plt.figure(figsize=(20, 5))
plt.scatter(semanas4.index, y4)
plt.plot(semanas4.index, y4)
plt.xlabel("Semana del año " + año4)
plt.ylabel("Egresos")
plt.savefig(año4 + '/' + name4 + '_' + año4 + '.jpg', format='jpg')
plt.show()
i4 = i4+1
import pandas as pd
# Se cargan los datos
colums5 = ['EGRESO', 'DIAG_INI']
dataframe5 = pd.read_csv('EGRESO_2015.csv', usecols=colums5, nrows=2500000).dropna()
dataframe5
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal5 = '%Y-%m-%d %H:%M:%S'
dataframe5['EGRESO'] = pd.to_datetime(dataframe5['EGRESO'], errors='coerce', format=strfdtoriginal5)
dataframe5 = dataframe5.dropna()
dataframe5 = dataframe5.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe5['sem'] = ''
nrows5 = len(dataframe5.index)
for i in range(nrows5):
dfday5 = dataframe5['EGRESO'][i]
if dfday5.year==2015:
mydate5 = date(dfday5.year, dfday5.month, dfday5.day)
numberweek5 = Week.fromdate(mydate5)
dataframe5['sem'][i] = numberweek5.week
dataframe5 = dataframe5.dropna()
dataframe5 = dataframe5.reset_index(drop=True)
dataframe5
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas5 = dataframe5['sem'].value_counts()
semanas5 = semanas5.drop('', axis = 0)
semanas5 = semanas5.sort_index()
semanas5
semanas5[52] = 0
semanas5 = semanas5.sort_index()
semanas5
# Se pasa a un nuevo dataframe
newdf5 = pd.DataFrame()
newdf5['sem'] = semanas5.index
newdf5['casos'] = ''
nr5 = len(newdf5.index)
for i in range (nr5):
newdf5['casos'][i] = int(semanas5[i+1])
newdf5
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año5 = '2015'
print('Egresos ' + año5)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas5.index, newdf5.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas5.index, newdf5.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año5)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año5 + '/Egresos' + año5 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos5 = dataframe5['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos5 = diagnosticos5.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie5 = dataframe5.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año5 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i5 = 0
ndiagnosticos5 = len(diagnosticos5.index)
maximo5 = ndiagnosticos5-5
# Proceso de generación de las figuras
for name5 in diagnosticos5.index:
if i5 < 25 or i5 >= maximo5:
y5 = []
for index5 in semanas5.index:
try:
y5.append(cie5['EGRESO'][name5, index5])
except:
y5.append(0)
print('\n' + name5)
plt.figure(figsize=(20, 5))
plt.scatter(semanas5.index, y5)
plt.plot(semanas5.index, y5)
plt.xlabel("Semana del año " + año5)
plt.ylabel("Egresos")
plt.savefig(año5 + '/' + name5 + '_' + año5 + '.jpg', format='jpg')
plt.show()
i5 = i5+1
import pandas as pd
# Se cargan los datos
colums6 = ['EGRESO', 'DIAG_INI']
dataframe6 = pd.read_csv('EGRESO_2016.csv', usecols=colums6).dropna()
dataframe6
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal6 = '%m/%d/%Y %H:%M'
dataframe6['EGRESO'] = pd.to_datetime(dataframe6['EGRESO'], errors='coerce', format=strfdtoriginal6)
dataframe6 = dataframe6.dropna()
dataframe6 = dataframe6.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe6['sem'] = ''
nrows6 = len(dataframe6.index)
for i in range(nrows6):
dfday6 = dataframe6['EGRESO'][i]
if dfday6.year==2016:
mydate6 = date(dfday6.year, dfday6.month, dfday6.day)
numberweek6 = Week.fromdate(mydate6)
dataframe6['sem'][i] = numberweek6.week
dataframe6 = dataframe6.dropna()
dataframe6 = dataframe6.reset_index(drop=True)
dataframe6
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas6 = dataframe6['sem'].value_counts()
semanas6 = semanas6.drop('', axis = 0)
semanas6 = semanas6.sort_index()
semanas6
# Se pasa a un nuevo dataframe
newdf6 = pd.DataFrame()
newdf6['sem'] = semanas6.index
newdf6['casos'] = ''
nr6 = len(newdf6.index)
for i in range (nr6):
newdf6['casos'][i] = int(semanas6[i+1])
newdf6
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año6 = '2016'
print('Egresos ' + año6)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas6.index, newdf6.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas6.index, newdf6.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año6)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año6 + '/Egresos' + año6 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos6 = dataframe6['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos6 = diagnosticos6.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie6 = dataframe6.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año6 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i6 = 0
ndiagnosticos6 = len(diagnosticos6.index)
maximo6 = ndiagnosticos6-5
# Proceso de generación de las figuras
for name6 in diagnosticos6.index:
if i6 < 25 or i6 >= maximo6:
y6 = []
for index6 in semanas6.index:
try:
y6.append(cie6['EGRESO'][name6, index6])
except:
y6.append(0)
print('\n' + name6)
plt.figure(figsize=(20, 5))
plt.scatter(semanas6.index, y6)
plt.plot(semanas6.index, y6)
plt.xlabel("Semana del año " + año6)
plt.ylabel("Egresos")
plt.savefig(año6 + '/' + name6 + '_' + año6 + '.jpg', format='jpg')
plt.show()
i6 = i6+1
import pandas as pd
# Se cargan los datos
colums7 = ['EGRESO', 'DIAG_INI']
dataframe7 = pd.read_csv('EGRESO_2017.csv', sep='|', usecols=colums7, nrows=1500000).dropna()
dataframe7
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal7 = '%Y-%m-%d %H:%M:%S'
dataframe7['EGRESO'] = pd.to_datetime(dataframe7['EGRESO'], errors='coerce', format=strfdtoriginal7)
dataframe7 = dataframe7.dropna()
dataframe7 = dataframe7.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe7['sem'] = ''
nrows7 = len(dataframe7.index)
for i in range(nrows7):
dfday7 = dataframe7['EGRESO'][i]
if dfday7.year==2017:
mydate7 = date(dfday7.year, dfday7.month, dfday7.day)
numberweek7 = Week.fromdate(mydate7)
dataframe7['sem'][i] = numberweek7.week
dataframe7 = dataframe7.dropna()
dataframe7 = dataframe7.reset_index(drop=True)
dataframe7
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas7 = dataframe7['sem'].value_counts()
# semanas7 = semanas7.drop('', axis = 0)
semanas7 = semanas7.sort_index()
semanas7
# Se pasa a un nuevo dataframe
newdf7 = pd.DataFrame()
newdf7['sem'] = semanas7.index
newdf7['casos'] = ''
nr7 = len(newdf7.index)
for i in range (nr7):
newdf7['casos'][i] = int(semanas7[i+1])
newdf7
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año7 = '2017'
print('Egresos ' + año7)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas7.index, newdf7.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas7.index, newdf7.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año7)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año7 + '/Egresos' + año7 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos7 = dataframe7['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos7 = diagnosticos7.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie7 = dataframe7.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año7 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i7 = 0
ndiagnosticos7 = len(diagnosticos7.index)
maximo7 = ndiagnosticos7-5
# Proceso de generación de las figuras
for name7 in diagnosticos7.index:
if i7 < 25 or i7 >= maximo7:
y7 = []
for index7 in semanas7.index:
try:
y7.append(cie7['EGRESO'][name7, index7])
except:
y7.append(0)
print('\n' + name7)
plt.figure(figsize=(20, 5))
plt.scatter(semanas7.index, y7)
plt.plot(semanas7.index, y7)
plt.xlabel("Semana del año " + año7)
plt.ylabel("Egresos")
plt.savefig(año7 + '/' + name7 + '_' + año7 + '.jpg', format='jpg')
plt.show()
i7 = i7+1
import pandas as pd
# Se cargan los datos
colums8 = ['EGRESO', 'DIAG_INI']
dataframe8 = pd.read_csv('EGRESO_2018.csv', usecols=colums8, nrows=1000000).dropna()
dataframe8
# Se importan las librerias necesarias
from epiweeks import Week, date
# Se convierten los string a objetos datetime en 'dataframe'
strfdtoriginal8 = '%Y-%m-%d %H:%M:%S.000'
dataframe8['EGRESO'] = pd.to_datetime(dataframe8['EGRESO'], errors='coerce', format=strfdtoriginal8)
dataframe8 = dataframe8.dropna()
dataframe8 = dataframe8.reset_index(drop=True)
# Se agrega una columna con los numeros de semana
dataframe8['sem'] = ''
nrows8 = len(dataframe8.index)
for i in range(nrows8):
dfday8 = dataframe8['EGRESO'][i]
if dfday8.year==2018:
mydate8 = date(dfday8.year, dfday8.month, dfday8.day)
numberweek8 = Week.fromdate(mydate8)
dataframe8['sem'][i] = numberweek8.week
dataframe8 = dataframe8.dropna()
dataframe8 = dataframe8.reset_index(drop=True)
dataframe8
# Se forma el nuevo dataframe 'semanas' con el numero de semana del año y la cantidad de egresos en cada semana
semanas8 = dataframe8['sem'].value_counts()
# semanas8 = semanas8.drop('', axis = 0)
semanas8 = semanas8.sort_index()
semanas8
# Se pasa a un nuevo dataframe
newdf8 = pd.DataFrame()
newdf8['sem'] = semanas8.index
newdf8['casos'] = ''
nr8 = len(newdf8.index)
for i in range (nr8):
newdf8['casos'][i] = int(semanas8[i+1])
newdf8
# Se importan las librerias necesarias
import matplotlib.pyplot as plt
año8 = '2018'
print('Egresos ' + año8)
# Se establece el tamaño de la figura
plt.rcParams.update({'font.size': 20})
plt.figure(figsize=(20, 10))
# Se define que se unan los puntos en la gráfica
plt.scatter(semanas8.index, newdf8.casos)
# Se definen las coordenadas 'x' y 'y'
plt.plot(semanas8.index, newdf8.casos)
# Se coloca un título para el eje x
plt.xlabel("Semana del año " + año8)
# Se coloca un título para el eje y
plt.ylabel("Egresos")
# Se guarda la figura como un archivo
plt.savefig(año8 + '/Egresos' + año8 + '.jpg', format='jpg')
# Se muestra la figura en la terminal
plt.show()
# Se crea el dataframe 'diagnosticos' con los nombre de los diferentes diagnosticos sin repeticion
diagnosticos8 = dataframe8['DIAG_INI'].value_counts()
# Se ordena del diagnostico con mayore numero de egresos al diagnostico con menor numero de egresos
diagnosticos8 = diagnosticos8.sort_values(ascending = False)
# Se crea el dataframe 'cie' con los nombres de los diagnosticos, los numeros de las semanas, y la cantidad de diagnosticos de dicha enfermedad en cada semana
cie8 = dataframe8.groupby(['DIAG_INI', 'sem']).count()
# Se importa la libreria necesaria para la figura
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 20})
print('Año ' + año8 + '\n')
# Se inicia un contador para controlar la cantidad de graficos a generar
i8 = 0
ndiagnosticos8 = len(diagnosticos8.index)
maximo8 = ndiagnosticos8-5
# Proceso de generación de las figuras
for name8 in diagnosticos8.index:
if i8 < 25 or i8 >= maximo8:
y8 = []
for index8 in semanas8.index:
try:
y8.append(cie8['EGRESO'][name8, index8])
except:
y8.append(0)
print('\n' + name8)
plt.figure(figsize=(20, 5))
plt.scatter(semanas8.index, y8)
plt.plot(semanas8.index, y8)
plt.xlabel("Semana del año " + año8)
plt.ylabel("Egresos")
plt.savefig(año8 + '/' + name8 + '_' + año8 + '.jpg', format='jpg')
plt.show()
i8 = i8+1